6.6 组 6:同步 / CSR / 杂项(unit: sync + misc,16 条)
同步与 waitcnt(4 条)
SLEEP
语法(Syntax)
sleep imm:u20
描述:让出发射约 imm*64 周期(自旋等待辅助)
| 变体 | 编码 | 延迟 | 标志 |
|---|---|---|---|
sleep | SYS op opcode=0x4e f5=0x4 | fixed:1 | ei |
BARRIER
语法(Syntax)
barrier
描述:workgroup 执行屏障:等待全部存活 warp 到达同一动态实例;对先前 store release、后续 load acquire(workgroup 范围)
| 变体 | 编码 | 延迟 | 标志 |
|---|---|---|---|
barrier | SYS op opcode=0x4e f5=0x6 | fixed:1 | ei sy |
ICACHE
语法(Syntax)
icache.inv
描述:无效化本 core 的指令 cache(自写代码后;串行化)
| 变体 | 编码 | 延迟 | 标志 |
|---|---|---|---|
icache.inv | SYS op opcode=0x4e f5=0xc | fixed:1 | ei sz |
WAITCNT
语法(Syntax)
waitcnt vm:c_vm vst:c_vst tex:c_tex ls:c_ls sm:c_sm sfu:c_sfu
描述:阻塞直到每个计数器满足 outstanding(c) <= 字段值;vm/vst/tex/ls/sfu 全 1 = 不等待;sm:0 = 清空、3 = 不等待、1/2 保留按 0
| 变体 | 编码 | 延迟 | 标志 |
|---|---|---|---|
waitcnt | WAIT op opcode=0x50 | fixed:1 | ei sy |
warp 控制与陷阱(5 条)
NOP
语法(Syntax)
nop
描述:无操作
| 变体 | 编码 | 延迟 | 标志 |
|---|---|---|---|
nop | SYS op opcode=0x4e f5=0x0 | fixed:1 | ei |
ENDPGM
语法(Syntax)
endpgm
描述:结束 warp(先按发射顺序完成全部挂起操作)
| 变体 | 编码 | 延迟 | 标志 |
|---|---|---|---|
endpgm | SYS op opcode=0x4e f5=0x1 | fixed:1 | ei eb tm |
TRAP
语法(Syntax)
trap imm:u20
描述:触发陷阱,code = imm(cause 2)
| 变体 | 编码 | 延迟 | 标志 |
|---|---|---|---|
trap | SYS op opcode=0x4e f5=0x2 | fixed:1 | ei eb mt |
BRK
语法(Syntax)
brk
描述:调试断点陷阱(cause 3,trapinfo = 0)
| 变体 | 编码 | 延迟 | 标志 |
|---|---|---|---|
brk | SYS op opcode=0x4e f5=0x3 | fixed:1 | ei mt |
SETPRIO
语法(Syntax)
setprio imm:u20
描述:设置 warp 调度优先级为 imm[1:0]
| 变体 | 编码 | 延迟 | 标志 |
|---|---|---|---|
setprio | SYS op opcode=0x4e f5=0x5 | fixed:1 | ei |
CSR 访问(7 条)
CSRR
语法(Syntax)
csrr rd:u csr:csr
描述:U[d] = CSR[csr]
| 变体 | 编码 | 延迟 | 标志 |
|---|---|---|---|
csrr | CSR op opcode=0x52 f3=0x0 | fixed:2 | ei |
CSRW
语法(Syntax)
csrw csr:csr rs1:u
描述:CSR[csr] = u1(未知或只读 CSR → 陷阱 cause 9)
| 变体 | 编码 | 延迟 | 标志 |
|---|---|---|---|
csrw | CSR op opcode=0x52 f3=0x1 | fixed:2 | ei sz mt |
CSRS
语法(Syntax)
csrs csr:csr rs1:u
描述:CSR[csr] |= u1(未知或只读 CSR → 陷阱 cause 9)
| 变体 | 编码 | 延迟 | 标志 |
|---|---|---|---|
csrs | CSR op opcode=0x52 f3=0x2 | fixed:2 | ei sz mt |
CSRC
语法(Syntax)
csrc csr:csr rs1:u
描述:CSR[csr] &= ~u1(未知或只读 CSR → 陷阱 cause 9)
| 变体 | 编码 | 延迟 | 标志 |
|---|---|---|---|
csrc | CSR op opcode=0x52 f3=0x3 | fixed:2 | ei sz mt |
CSRWI
语法(Syntax)
csrwi csr:csr rs1:u6
描述:CSR[csr] = zext(imm6)(未知或只读 CSR → 陷阱 cause 9)
| 变体 | 编码 | 延迟 | 标志 |
|---|---|---|---|
csrwi | CSR op opcode=0x52 f3=0x4 | fixed:2 | ei sz mt |
CSRSI
语法(Syntax)
csrsi csr:csr rs1:u6
描述:CSR[csr] |= zext(imm6)(未知或只读 CSR → 陷阱 cause 9)
| 变体 | 编码 | 延迟 | 标志 |
|---|---|---|---|
csrsi | CSR op opcode=0x52 f3=0x5 | fixed:2 | ei sz mt |
CSRCI
语法(Syntax)
csrci csr:csr rs1:u6
描述:CSR[csr] &= ~zext(imm6)(未知或只读 CSR → 陷阱 cause 9)
| 变体 | 编码 | 延迟 | 标志 |
|---|---|---|---|
csrci | CSR op opcode=0x52 f3=0x6 | fixed:2 | ei sz mt |